package com.hoshiicloud.user.param.rbac;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 租户会员修改参数实体
 *
 * @author : yangcheng
 * @date : 2019/5/15 15:04
 * @mail : maiboyc@163.com
 **/
@ApiModel
@Data
public class MemberUpdateParam {

    //ID
    @NotNull(message = "ID不能为空")
    @ApiModelProperty(name = "id", value = "ID", dataType = "java.lang.Long", hidden = true)
    private Long id;

    // 公司ID
    @NotNull(message = "公司ID不能为空")
    @ApiModelProperty(name = "companyId", value = "公司ID", required = true, dataType = "java.lang.Long", example = "3171776001692663893")
    private Long companyId;

    // 编号
    @NotNull(message = "编号不能为空")
    @ApiModelProperty(name = "userCode", value = "编号", required = true, dataType = "java.lang.String", example = "U123456789101112131")
    private String userCode;

    // 昵称
    @ApiModelProperty(name = "nickName", value = "昵称", required = true, dataType = "java.lang.String", example = "用户12895")
    private String nickName;

    // 姓名
    @ApiModelProperty(name = "realName", value = "姓名", required = true, dataType = "java.lang.String", example = "张三")
    private String realName;

    // 身份证
    @ApiModelProperty(name = "idCard", value = "身份证", required = true, dataType = "java.lang.String", example = "42032419881214051X")
    private String idCard;

    // 地址
    @ApiModelProperty(name = "address", value = "地址", required = true, dataType = "java.lang.String", example = "福建省福州市马尾区")
    private String address;

    // 国际区号
    @ApiModelProperty(name = "countryCode", value = "国际区号", required = true, dataType = "java.lang.String", example = "086")
    private String countryCode;

    // 手机
    @ApiModelProperty(name = "phone", value = "手机", required = true, dataType = "java.lang.String", example = "18620195809")
    private String phone;

    // 头像
    @ApiModelProperty(name = "avatar", value = "头像", dataType = "java.lang.String", example = "/headimage/xxx.jpg")
    private String avatar;

    // 性别（1-男 2-女）
    @ApiModelProperty(name = "sex", value = "性别", required = true, dataType = "java.lang.Integer", example = "1")
    private Integer sex;

    // email地址
    @ApiModelProperty(name = "email", value = "email地址", required = true, dataType = "java.lang.String", example = "5438109323@qq.com")
    private String email;

    // 个人主页
    @ApiModelProperty(name = "home", value = "个人主页", required = true, dataType = "java.lang.String", example = "http://www.github.com/maiboyc")
    private String home;

    // 生日时间
    @ApiModelProperty(name = "birthday", value = "生日时间", required = true, dataType = "java.util.Date", example = "1988-12-14")
    private LocalDateTime birthday;

    // 密码
    @ApiModelProperty(name = "password", value = "密码", required = true, dataType = "java.lang.String", example = "123456")
    private String password;

    // 支付密码
    @ApiModelProperty(name = "payPassword", value = "支付密码", required = true, dataType = "java.lang.String", example = "p123456")
    private String payPassword;

    // 微信openid
    @ApiModelProperty(name = "wxOpenId", value = "微信optnid", required = true, dataType = "java.lang.String", example = "W9192910190939023332")
    private String wxOpenId;

    // 微信unionid
    @ApiModelProperty(name = "wxUnionId", value = "微信unionid", required = true, dataType = "java.lang.String", example = "W23321357943243314")
    private String wxUnionId;

    // 微信名称
    @ApiModelProperty(name = "wxName", value = "微信名称", required = true, dataType = "java.lang.String", example = "微信名称")
    private String wxName;

    // 微信头像
    @ApiModelProperty(name = "wxPic", value = "微信头像", required = true, dataType = "java.lang.String", example = "/wximage/xxx.jpg")
    private String wxPic;

    // 国家
    @ApiModelProperty(name = "wxCountry", value = "国家", required = true, dataType = "java.lang.String", example = "中国")
    private String wxCountry;

    // 省份
    @ApiModelProperty(name = "wxProvince", value = "省份", required = true, dataType = "java.lang.String", example = "福建省")
    private String wxProvince;

    // 城市
    @ApiModelProperty(name = "wxCity", value = "城市", required = true, dataType = "java.lang.String", example = "福州市")
    private String wxCity;

    // qq openid
    @ApiModelProperty(name = "qqOpenId", value = "qq开放ID", required = true, dataType = "java.lang.String", example = "qq3012890802131234")
    private String qqOpenId;

    // 经度
    @ApiModelProperty(name = "longitude", value = "经度", required = true, dataType = "java.lang.String", example = "119.4284200000")
    private String longitude;

    // 纬度
    @ApiModelProperty(name = "latitude", value = "纬度", required = true, dataType = "java.lang.String", example = "26.0075700000")
    private String latitude;

    // 最后一次登录时间
    @ApiModelProperty(name = "lastLoginTime", value = "最后一次登录时间", dataType = "java.util.Date", example = "2019-05-09 11:02:38")
    private LocalDateTime lastLoginTime;

}
